package com.sky.loveshop.entity.meiTuan;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author xcy
 * @version V1.0
 * @description 外送帮 https://www.waisongbang.com/apiDoc/#/order/list?v=1.2.4
 * @date 2024/9/2 23:21
 */
@NoArgsConstructor
@Data
public class MtOrderPullResponse {

    @JsonProperty("code")
    private Integer code;
    @JsonProperty("msg")
    private String msg;
    @JsonProperty("data")
    private DataDTO data;

    @NoArgsConstructor
    @Data
    public static class DataDTO {
        @JsonProperty("page")
        private String page;
        @JsonProperty("page_size")
        private String pageSize;
        @JsonProperty("total")
        private Integer total;
        @JsonProperty("lists")
        private List<OrderDTO> lists;
    }

    @NoArgsConstructor
    @Data
    public static class OrderDTO {
        @JsonProperty("id")
        private Integer id;
        @JsonProperty("store_id")
        private Integer storeId;
        @JsonProperty("platform_order_id")
        private String platformOrderId;
        @JsonProperty("platform_day_id")
        private Integer platformDayId;
        @JsonProperty("order_weight")
        private Integer orderWeight;
        @JsonProperty("remark")
        private String remark;
        @JsonProperty("order_time")
        private String orderTime;
        @JsonProperty("order_amount")
        private Double orderAmount;
        @JsonProperty("order_original_amount")
        private Double orderOriginalAmount;
        @JsonProperty("order_receivable_amount")
        private Double orderReceivableAmount;
        @JsonProperty("expect_time")
        private String expectTime;
        @JsonProperty("pick_up")
        private Integer pickUp;
        @JsonProperty("taxer_id")
        private String taxerId;
        @JsonProperty("invoice")
        private String invoice;
        @JsonProperty("invoice_amount")
        private Float invoiceAmount;
        @JsonProperty("order_status")
        private Integer orderStatus;
        @JsonProperty("deliver_status")
        private Integer deliverStatus;
        @JsonProperty("deliver_type")
        private Integer deliverType;
        @JsonProperty("deliver_type_desc")
        private String deliverTypeDesc;
        @JsonProperty("platform")
        private Integer platform;
        @JsonProperty("platform_name")
        private String platformName;
        @JsonProperty("order_desc")
        private String orderDesc;

        @JsonProperty("goods_list")
        private List<OrderItemDTO> goodsList;
    }

    @NoArgsConstructor
    @Data
    public static class OrderItemDTO {
        @JsonProperty("name")
        private String name;
        @JsonProperty("spu_id")
        private String spuId;
        @JsonProperty("sku_id")
        private String skuId;
        @JsonProperty("platform_spu_id")
        private String platformSpuId;
        @JsonProperty("platform_sku_id")
        private String platformSkuId;
        @JsonProperty("upc")
        private String upc;
        @JsonProperty("num")
        private Integer num;
        @JsonProperty("actual_price")
        private Double actualPrice;
        @JsonProperty("origin_price")
        private Double originPrice;
    }

}
